Servers and personal computers often rely on the Microsoft™ Windows™ operating system to execute applications and services. Depending on the Microsoft™ Windows™ edition, multiple licenses may be required for the same computer if multiple instances of Windows™ are loaded onto different partitions on virtual machines sharing the same hardware platform. A partition of a server may be a Unisys Specialty Engine (or “guest”), a general purpose partition, or any other type of partition. For example, a partition of a computer may be created using virtualization tools.
Installing Windows™ on a storage array conventionally requires Microsoft™ created tools for installation. For example, to install and configure a Windows™ operating system on a partition, a computer may use a separate partition or restore environment running the Enterprise Edition of Windows™ to provide an environment capable of setting up and installing guest operating system images by using standard Windows™ disk partitioning (diskpart.exe) and disk imaging tools (imagex.exe) provided by Microsoft™ for OEM image deployment. So, deploying a Windows™ operating system image on a guest partition or guest disk requires a separate Windows™ environment to run on the platform, such as the Enterprise version of Windows™ installed on a designated restore partition. In other words, a single computer may need two or more licenses from Microsoft™ to run the guest partitions in order to properly license the Windows™-based restore environment. Companies that manufacture and sell computers typically do not want to buy additional licenses from Microsoft™, especially if a license will only be used to instantiate the guest partitions. These companies may purchase dozens, hundreds, or thousands of Windows™ licenses from Microsoft™ for the installation of guest partitions. Thus, a tool is desired to reduce the Microsoft™ license requirements in order to lower licensing costs.
Also, as mentioned above, deploying the Windows™ operating system images conventionally requires Microsoft™ tools. Because Microsoft™ designed their tools to only install operating systems created by Microsoft™, these installation tools are operating system-specific. Operating system-specific tools may limit a company's deployment flexibility because only Windows™-compatible applications may be used. Some companies may wish to use, for example, Linux™-based environments, Linux™ operating systems are based on open-source software and may be requested by the customer because of interoperability with the customer environment, reduced licensing fees or Independent Software Vendor (ISV) support requirements. Given all these factors, companies may desire a computing platform capable of deploying and running both Windows™ and Linux™ guest partitions (or potentially other operating systems, like FreeBSD). So, a set of operating system agnostic installation tools are desired.
The systems and methods described herein attempt to overcome the drawbacks discussed above by bundling a restore environment with partitioning software. The restore environment may be a small, lightweight Linux™ environment that is operating system-agnostic so that any operating system image file which has been previously captured may be deployed on a guest disk on demand.
In one embodiment, a method of creating and capturing a guest disk image comprises: creating, by a computer, a plurality of virtual disks from a single storage array, wherein the virtual disks include at least one virtualization software disk and at least one guest disk; installing, by a computer, virtualization software onto the at least one virtualization software disk, wherein the virtualization software bundles a virtualization software console and a restore environment; installing, by a computer running the virtualization software, a guest operating system that bundles virtualization drivers onto the guest disk; booting, by a computer running the virtualization software, the guest operating system through the virtualization software console; configuring, by a computer, settings of the guest operating system depending on applications or services offered by the guest disk; booting, by a computer running the virtualization software, the restore environment from the virtualization software console; capturing, by a computer, a guest disk file system into a disk image file; and saving, by a computer, the disk image file to the at least one virtualization software disk.
In another embodiment, a method of deploying a guest disk comprises: launching, by a computer, a virtualization software, wherein the virtualization software includes a bundled restore environment; booting, by a computer, the restore environment; downloading, by a computer, a compressed image file from a storage disk; expanding, by a computer, the compressed image file directly onto the guest disk using a script run within the restore environment; and configuring, by a computer, boot settings to boot the installed guest disk operating system instead of the restore environment.
In another embodiment, a computer system comprises: at least one processor; a memory; physical data storage hardware, wherein the physical data storage hardware includes at least one guest partition disk and at least one virtualization software disk; and a virtualization software, installed on the virtualization software disk, configured to partition computer hardware resources and install an operating system on the virtual guest disk, wherein the virtualization software includes a restore environment that runs in a portion of the block of memory, and the restore environment is configured to capture and deploy a guest disk image of an operating system installed on the guest disk.
In another embodiment, a method of creating and capturing a guest disk image comprises: creating, by a computer, a plurality of virtual disks from a single storage array, wherein the virtual disks include at least one virtualization software disk and at least one guest disk, and wherein the at least one guest disk is minimally sized to accommodate operating system and data files and minimize unused space; installing, by a computer, virtualization software onto the at least one virtualization software disk, wherein the virtualization software bundles a virtualization software console and a restore environment; partitioning, by a computer running the virtualization software, the guest disk into at least an operating system (OS) partition and a data partition; installing, by a computer running the virtualization software, a guest operating system that bundles virtualization drivers onto the OS partition of the guest disk; booting, by a computer running the virtualization software, the guest operating system through the virtualization software console; configuring, by a computer, settings of the guest operating system depending on applications or services installed on the guest disk; booting, by a computer running the virtualization software, the restore environment from the virtualization software console; capturing, by a computer, a guest disk file system of the OS partition into a first disk image file and a guest disk file system of the data partition into a second image file; and saving, by a computer, the first and second disk image files to the at least one virtualization software disk.
In another embodiment, a method of deploying a guest disk comprises: creating, by a computer, a plurality of virtual disks from a storage array, wherein the virtual disks include at least one guest disk; partitioning, by a computer, each virtual disk into at least an operating system (OS) partition and a data partition; launching, by a computer, a virtualization software, wherein the virtualization software includes a bundled restore environment; booting, by a computer, the restore environment; downloading, by a computer, a OS partition image file and a data partition image file from a storage disk, wherein the OS partition image file and the data partition image file are smaller than a final customer system's OS and data partitions; expanding, by a computer, the OS partition image file directly onto the guest disk's OS partition using a script run within the restore environment to create an OS file system; expanding, by a computer, the data partition image file directly onto the guest disk's data partition using a script run within the restore environment to create a data file system; and resizing, by a computer, an OS file system and the data file system to access unused portions of the OS and data partitions based on the size of the final customer system's OS and data partition.
Additional features and advantages of an embodiment will be set forth in the description which follows, and in part will be apparent from the description. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the exemplary embodiments in the written description and claims hereof as well as the appended drawings.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.